import observe from "./observe";
export default function (obj, key, value) {
    if(arguments.length==2){
        value = obj[key];
    }

    // 子元素要进行observe，至此形成了递归。
    let childOb = observe(value);

    Object.defineProperty(obj, key, {
        enumerable: true,
        // writable: true,//有get和set的时候，不要用这个属性和value属性
        configurable: true,
        set(newVal) {
            console.log('你试图改变' + obj + '的' + key);
            value = newVal;
            childOb = observe(newVal);
        },
        get() {
            console.log('你试图访问' + obj + '的' + key);
            return value;
        },
    })
};